The present invention relates to a method and system for facilitating process execution through use of distributed window server extensions.
Typically, a process will fail to work properly if a user attempts to run the process on a computer that does not fully support a window server extension that the process needs to run. For example, the Help Viewer process of the AnswerBook product from Sun Microsystems relies on the Display Postscript window server extension, and will fail to run properly if invoked on a computer that does not fully support the Display Postscript extension.
In order to overcome this problem Adobe System""s Inc. markets a product named xe2x80x9cDisplay Postscript NX Agent,xe2x80x9d which allows a client process that requires the Display Postscript extension to run in an environment that does not support the Display Postscript extension. Display Postscript NX Agent implements this functionality by interposing program code between the client process and a window server that controls interactions with the display device. The interposed program code intercepts requests to the Display Postscript extension and translates those requests into a native protocol supported by the host computer (e.g., the X-protocol).
The method used by Adobe Systems, Inc. has several drawbacks. For example, it requires a substantial amount of programmer time and effort to design, code, test, and support the program code used to translate requests for the Display Postscript extension into requests to a window server that is supported by the host computer. This deficiency becomes even more pronounced as the variety of native protocols increases. For example, if a given host computer could be configured to support any one of xe2x80x9cNxe2x80x9d separate protocols then xe2x80x9cNxe2x80x9d different translations would have to be developed by Adobe in order to ensure cross-platform portability of the NX Agent product.
Another drawback of the NX Agent product is that in order to use NX Agent, the program""s synchronization component must be aware that NX Agent is installed on the target computer. In other words, its use is not transparent to the program. Furthermore, NX Agent is an ad-hoc solution tied to Adobe""s Display Postscript product and, therefore, is not a general purpose software solution.
It would be beneficial to provide a method and system which overcomes the deficiencies of the prior art.
A preferred embodiment of the present invention presents an elegant and simple way of allowing client processes to run on window servers that do not natively support a particular window server extension that the client process may wish to use. Obviously, this problem may arise in systems which have the memory capacity to support a particular window server extension but which, nevertheless, do not support that extension. The problem may also arise in other contexts. For example, the problem also arises in computers, such as x-terminals or xe2x80x9cinternetxe2x80x9d computers, which are memory limited and therefore, do not have enough memory capacity to effectively use the window server extension.
Various embodiments of the invention overcome the limitations of the prior art by providing a method and system that receives a request to use a particular extension, recognizes that the particular extension is not supported locally and, in response to that recognition, locates, invokes, and then uses the desired extension while that extension resides on a remote computer.
The detailed descriptions which follow are presented largely in terms of methods and symbolic representations of operations on data bits within a computer. These method descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.
A method is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be born in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Useful machines for performing the operations of the present invention include general purpose digital computers or similar devices. The general purpose computer may be selectively activated or reconfigured by a computer program stored in the computer. A special purpose computer may also be used to perform the operations of the present invention. In short, use of the methods described and suggested herein is not limited to a particular computer configuration.